# Virtual Machines [[Computer Science]] [[Programming Languages]] There are two things often called Virtual Machines: - virtualized hardware that can run on top of normal hardware. See [[Virtualization]] - execution abstractions to implement [[Programming Languages]] and [[BOOK - Structure and Interpretation of Computer Programs - 2nd Edition - Harold Abelson Gerald Jay Sussman Julie Sussman]] Notable examples: - [[Java]]'s [[JVM]] - [[Erlang]]'s [[BEAM]] ## Books - [[BOOK - Structure and Interpretation of Computer Programs - 2nd Edition - Harold Abelson Gerald Jay Sussman Julie Sussman]] ## Links - [Blog Archive | J15N](https://martin-henz.github.io/martin-henz/archive.html) [[Martin Henz]] has built a series of virtual machines in [[Javascript]] for [[SICP JS]].